home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / docs / gas / as.i5 < prev    next >
Encoding:
GNU Info File  |  1994-12-17  |  47.3 KB  |  990 lines

  1. This is Info file as.info, produced by Makeinfo-1.55 from the input
  2. file ./as.texinfo.
  3.  
  4. START-INFO-DIR-ENTRY
  5. * As: (as).                     The GNU assembler.
  6. END-INFO-DIR-ENTRY
  7.  
  8.    This file documents the GNU Assembler "as".
  9.  
  10.    Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  11.  
  12.    Permission is granted to make and distribute verbatim copies of this
  13. manual provided the copyright notice and this permission notice are
  14. preserved on all copies.
  15.  
  16.    Permission is granted to copy and distribute modified versions of
  17. this manual under the conditions for verbatim copying, provided that
  18. the entire resulting derived work is distributed under the terms of a
  19. permission notice identical to this one.
  20.  
  21.    Permission is granted to copy and distribute translations of this
  22. manual into another language, under the above conditions for modified
  23. versions.
  24.  
  25. 
  26. File: as.info,  Node: MIPS-Dependent,  Next: i386-Dependent,  Prev: Z8000-Dependent,  Up: Machine Dependencies
  27.  
  28. MIPS Dependent Features
  29. =======================
  30.  
  31.    GNU `as' for MIPS architectures supports the MIPS R2000, R3000,
  32. R4000 and R6000 processors.  For information about the MIPS instruction
  33. set, see `MIPS RISC Architecture', by Kane and Heindrich
  34. (Prentice-Hall).  For an overview of MIPS assembly conventions, see
  35. "Appendix D: Assembly Language Programming" in the same work.
  36.  
  37. * Menu:
  38.  
  39. * MIPS Opts::   Assembler options
  40. * MIPS Object:: ECOFF object code
  41. * MIPS Stabs::  Directives for debugging information
  42. * MIPS ISA::    Directives to override the ISA level
  43.  
  44. 
  45. File: as.info,  Node: MIPS Opts,  Next: MIPS Object,  Up: MIPS-Dependent
  46.  
  47. Assembler options
  48. -----------------
  49.  
  50.    The MIPS configurations of GNU `as' support these special options:
  51.  
  52. `-G NUM'
  53.      This option sets the largest size of an object that can be
  54.      referenced implicitly with the `gp' register.  It is only accepted
  55.      for targets that use ECOFF format.  The default value is 8.
  56.  
  57. `-EB'
  58. `-EL'
  59.      Any MIPS configuration of `as' can select big-endian or
  60.      little-endian output at run time (unlike the other GNU development
  61.      tools, which must be configured for one or the other).  Use `-EB'
  62.      to select big-endian output, and `-EL' for little-endian.
  63.  
  64. `-mips1'
  65. `-mips2'
  66. `-mips3'
  67.      Generate code for a particular MIPS Instruction Set Architecture
  68.      level.  `-mips1' corresponds to the R2000 and R3000 processors,
  69.      `-mips2' to the R6000 processor, and `-mips3' to the R4000
  70.      processor.  You can also switch instruction sets during the
  71.      assembly; see *Note Directives to override the ISA level: MIPS ISA.
  72.  
  73. `-nocpp'
  74.      This option is ignored.  It is accepted for command-line
  75.      compatibility with other assemblers, which use it to turn off C
  76.      style preprocessing.  With GNU `as', there is no need for
  77.      `-nocpp', because the GNU assembler itself never runs the C
  78.      preprocessor.
  79.  
  80. `--trap'
  81. `--no-break'
  82.      `as' automatically macro expands certain division and
  83.      multiplication instructions to check for overflow and division by
  84.      zero.  This option causes `as' to generate code to take a trap
  85.      exception rather than a break exception when an error is detected.
  86.      The trap instructions are only supported at Instruction Set
  87.      Architecture level 2 and higher.
  88.  
  89. `--break'
  90. `--no-trap'
  91.      Generate code to take a break exception rather than a trap
  92.      exception when an error is detected.  This is the default.
  93.  
  94. 
  95. File: as.info,  Node: MIPS Object,  Next: MIPS Stabs,  Prev: MIPS Opts,  Up: MIPS-Dependent
  96.  
  97. MIPS ECOFF object code
  98. ----------------------
  99.  
  100.    Assembling for a MIPS ECOFF target supports some additional sections
  101. besides the usual `.text', `.data' and `.bss'.  The additional sections
  102. are `.rdata', used for read-only data, `.sdata', used for small data,
  103. and `.sbss', used for small common objects.
  104.  
  105.    When assembling for ECOFF, the assembler uses the `$gp' (`$28')
  106. register to form the address of a "small object".  Any object in the
  107. `.sdata' or `.sbss' sections is considered "small" in this sense.  For
  108. external objects, or for objects in the `.bss' section, you can use the
  109. `gcc' `-G' option to control the size of objects addressed via `$gp';
  110. the default value is 8, meaning that a reference to any object eight
  111. bytes or smaller uses `$gp'.  Passing `-G 0' to `as' prevents it from
  112. using the `$gp' register on the basis of object size (but the assembler
  113. uses `$gp' for objects in `.sdata' or `sbss' in any case).  The size of
  114. an object in the `.bss' section is set by the `.comm' or `.lcomm'
  115. directive that defines it.  The size of an external object may be set
  116. with the `.extern' directive.  For example, `.extern sym,4' declares
  117. that the object at `sym' is 4 bytes in length, whie leaving `sym'
  118. otherwise undefined.
  119.  
  120.    Using small ECOFF objects requires linker support, and assumes that
  121. the `$gp' register is correctly initialized (normally done
  122. automatically by the startup code).  MIPS ECOFF assembly code must not
  123. modify the `$gp' register.
  124.  
  125. 
  126. File: as.info,  Node: MIPS Stabs,  Next: MIPS ISA,  Prev: MIPS Object,  Up: MIPS-Dependent
  127.  
  128. Directives for debugging information
  129. ------------------------------------
  130.  
  131.    MIPS ECOFF `as' supports several directives used for generating
  132. debugging information which are not support by traditional MIPS
  133. assemblers.  These are `.def', `.endef', `.dim', `.file', `.scl',
  134. `.size', `.tag', `.type', `.val', `.stabd', `.stabn', and `.stabs'.
  135. The debugging information generated by the three `.stab' directives can
  136. only be read by GDB, not by traditional MIPS debuggers (this
  137. enhancement is required to fully support C++ debugging).  These
  138. directives are primarily used by compilers, not assembly language
  139. programmers!
  140.  
  141. 
  142. File: as.info,  Node: MIPS ISA,  Prev: MIPS Stabs,  Up: MIPS-Dependent
  143.  
  144. Directives to override the ISA level
  145. ------------------------------------
  146.  
  147.    GNU `as' supports an additional directive to change the MIPS
  148. Instruction Set Architecture level on the fly: `.set mipsN'.  N should
  149. be a number from 0 to 3.  A value from 1 to 3 makes the assembler
  150. accept instructions for the corresponding ISA level, from that point on
  151. in the assembly.  `.set mipsN' affects not only which instructions are
  152. permitted, but also how certain macros are expanded.  `.set mips0'
  153. restores the ISA level to its original level: either the level you
  154. selected with command line options, or the default for your
  155. configuration.  You can use this feature to permit specific R4000
  156. instructions while assembling in 32 bit mode.  Use this directive with
  157. care!
  158.  
  159.    Traditional MIPS assemblers do not support this directive.
  160.  
  161. 
  162. File: as.info,  Node: Acknowledgements,  Next: Index,  Prev: Machine Dependencies,  Up: Top
  163.  
  164. Acknowledgements
  165. ****************
  166.  
  167.    If you have contributed to `as' and your name isn't listed here, it
  168. is not meant as a slight.  We just don't know about it.  Send mail to
  169. the maintainer, and we'll correct the situation.  Currently (January
  170. 1994), the maintainer is Ken Raeburn (email address
  171. `raeburn@cygnus.com').
  172.  
  173.    Dean Elsner wrote the original GNU assembler for the VAX.(1)
  174.  
  175.    Jay Fenlason maintained GAS for a while, adding support for
  176. GDB-specific debug information and the 68k series machines, most of the
  177. preprocessing pass, and extensive changes in `messages.c',
  178. `input-file.c', `write.c'.
  179.  
  180.    K. Richard Pixley maintained GAS for a while, adding various
  181. enhancements and many bug fixes, including merging support for several
  182. processors, breaking GAS up to handle multiple object file format back
  183. ends (including heavy rewrite, testing, an integration of the coff and
  184. b.out back ends), adding configuration including heavy testing and
  185. verification of cross assemblers and file splits and renaming,
  186. converted GAS to strictly ANSI C including full prototypes, added
  187. support for m680[34]0 and cpu32, did considerable work on i960
  188. including a COFF port (including considerable amounts of reverse
  189. engineering), a SPARC opcode file rewrite, DECstation, rs6000, and
  190. hp300hpux host ports, updated "know" assertions and made them work,
  191. much other reorganization, cleanup, and lint.
  192.  
  193.    Ken Raeburn wrote the high-level BFD interface code to replace most
  194. of the code in format-specific I/O modules.
  195.  
  196.    The original VMS support was contributed by David L. Kashtan.  Eric
  197. Youngdale has done much work with it since.
  198.  
  199.    The Intel 80386 machine description was written by Eliot Dresselhaus.
  200.  
  201.    Minh Tran-Le at IntelliCorp contributed some AIX 386 support.
  202.  
  203.    The Motorola 88k machine description was contributed by Devon Bowen
  204. of Buffalo University and Torbjorn Granlund of the Swedish Institute of
  205. Computer Science.
  206.  
  207.    Keith Knowles at the Open Software Foundation wrote the original
  208. MIPS back end (`tc-mips.c', `tc-mips.h'), and contributed Rose format
  209. support (which hasn't been merged in yet).  Ralph Campbell worked with
  210. the MIPS code to support a.out format.
  211.  
  212.    Support for the Zilog Z8k and Hitachi H8/300 and H8/500 processors
  213. (tc-z8k, tc-h8300, tc-h8500), and IEEE 695 object file format
  214. (obj-ieee), was written by Steve Chamberlain of Cygnus Support.  Steve
  215. also modified the COFF back end to use BFD for some low-level
  216. operations, for use with the H8/300 and AMD 29k targets.
  217.  
  218.    John Gilmore built the AMD 29000 support, added `.include' support,
  219. and simplified the configuration of which versions accept which
  220. directives.  He updated the 68k machine description so that Motorola's
  221. opcodes always produced fixed-size instructions (e.g. `jsr'), while
  222. synthetic instructions remained shrinkable (`jbsr').  John fixed many
  223. bugs, including true tested cross-compilation support, and one bug in
  224. relaxation that took a week and required the proverbial one-bit fix.
  225.  
  226.    Ian Lance Taylor of Cygnus Support merged the Motorola and MIT
  227. syntax for the 68k, completed support for some COFF targets (68k, i386
  228. SVR3, and SCO Unix), added support for MIPS ECOFF and ELF targets, and
  229. made a few other minor patches.
  230.  
  231.    Steve Chamberlain made `as' able to generate listings.
  232.  
  233.    Hewlett-Packard contributed support for the HP9000/300.
  234.  
  235.    Jeff Law wrote GAS and BFD support for the native HPPA object format
  236. (SOM) along with a fairly extensive HPPA testsuite (for both SOM and
  237. ELF object formats).  This work was supported by both the Center for
  238. Software Science at the University of Utah and Cygnus Support.
  239.  
  240.    Support for ELF format files has been worked on by Mark Eichin of
  241. Cygnus Support (original, incomplete implementation for SPARC), Pete
  242. Hoogenboom and Jeff Law at the University of Utah (HPPA mainly),
  243. Michael Meissner of the Open Software Foundation (i386 mainly), and Ken
  244. Raeburn of Cygnus Support (sparc, and some initial 64-bit support).
  245.  
  246.    Several engineers at Cygnus Support have also provided many small
  247. bug fixes and configuration enhancements.
  248.  
  249.    Many others have contributed large or small bugfixes and
  250. enhancements.  If you have contributed significant work and are not
  251. mentioned on this list, and want to be, let us know.  Some of the
  252. history has been lost; we are not intentionally leaving anyone out.
  253.  
  254.    ---------- Footnotes ----------
  255.  
  256.    (1)  Any more details?
  257.  
  258. 
  259. File: as.info,  Node: Index,  Prev: Acknowledgements,  Up: Top
  260.  
  261. Index
  262. *****
  263.  
  264. * Menu:
  265.  
  266. * #:                                    Comments.
  267. * #APP:                                 Preprocessing.
  268. * #NO_APP:                              Preprocessing.
  269. * -:                                    Command Line.
  270. * -statistics:                          statistics.
  271. * -a:                                   a.
  272. * -ad:                                  a.
  273. * -ah:                                  a.
  274. * -al:                                  a.
  275. * -an:                                  a.
  276. * -as:                                  a.
  277. * -Asparclite:                          Sparc-Opts.
  278. * -Av6:                                 Sparc-Opts.
  279. * -Av8:                                 Sparc-Opts.
  280. * -D:                                   D.
  281. * -f:                                   f.
  282. * -I PATH:                              I.
  283. * -K:                                   K.
  284. * -L:                                   L.
  285. * -o:                                   o.
  286. * -R:                                   R.
  287. * -v:                                   v.
  288. * -version:                             v.
  289. * -W:                                   W.
  290. * .o:                                   Object.
  291. * 29K support:                          AMD29K-Dependent.
  292. * $ in symbol names:                    SH-Chars.
  293. * $ in symbol names:                    H8/500-Chars.
  294. * -+ option, VAX/VMS:                   Vax-Opts.
  295. * -A options, i960:                     Options-i960.
  296. * -b option, i960:                      Options-i960.
  297. * -D, ignored on VAX:                   Vax-Opts.
  298. * -d, VAX option:                       Vax-Opts.
  299. * -EB option (MIPS):                    MIPS Opts.
  300. * -EL option (MIPS):                    MIPS Opts.
  301. * -G option (MIPS):                     MIPS Opts.
  302. * -h option, VAX/VMS:                   Vax-Opts.
  303. * -J, ignored on VAX:                   Vax-Opts.
  304. * -l option, M680x0:                    M68K-Opts.
  305. * -m68000 and related options:          M68K-Opts.
  306. * -no-relax option, i960:               Options-i960.
  307. * -nocpp ignored (MIPS):                MIPS Opts.
  308. * -S, ignored on VAX:                   Vax-Opts.
  309. * -T, ignored on VAX:                   Vax-Opts.
  310. * -t, ignored on VAX:                   Vax-Opts.
  311. * -V, redundant on VAX:                 Vax-Opts.
  312. * .param on HPPA:                       HPPA Directives.
  313. * .set mipsN:                           MIPS ISA.
  314. * . (symbol):                           Dot.
  315. * : (label):                            Statements.
  316. * as version:                           v.
  317. * a.out symbol attributes:              a.out Symbols.
  318. * abort directive:                      Abort.
  319. * ABORT directive:                      ABORT.
  320. * align directive:                      Align.
  321. * app-file directive:                   App-File.
  322. * ascii directive:                      Ascii.
  323. * asciz directive:                      Asciz.
  324. * block directive, AMD 29K:             AMD29K Directives.
  325. * bss directive, i960:                  Directives-i960.
  326. * byte directive:                       Byte.
  327. * callj, i960 pseudo-opcode:            callj-i960.
  328. * common directive, SPARC:              Sparc-Directives.
  329. * comm directive:                       Comm.
  330. * cputype directive, AMD 29K:           AMD29K Directives.
  331. * data1 directive, M680x0:              M68K-Directives.
  332. * data2 directive, M680x0:              M68K-Directives.
  333. * data directive:                       Data.
  334. * def directive:                        Def.
  335. * desc directive:                       Desc.
  336. * dfloat directive, VAX:                VAX-directives.
  337. * dim directive:                        Dim.
  338. * double directive:                     Double.
  339. * double directive, i386:               i386-Float.
  340. * double directive, M680x0:             M68K-Float.
  341. * double directive, VAX:                VAX-float.
  342. * eject directive:                      Eject.
  343. * else directive:                       Else.
  344. * endef directive:                      Endef.
  345. * endif directive:                      Endif.
  346. * equ directive:                        Equ.
  347. * even directive, M680x0:               M68K-Directives.
  348. * extended directive, i960:             Directives-i960.
  349. * extern directive:                     Extern.
  350. * ffloat directive, VAX:                VAX-directives.
  351. * file directive:                       File.
  352. * file directive, AMD 29K:              AMD29K Directives.
  353. * fill directive:                       Fill.
  354. * float directive:                      Float.
  355. * float directive, i386:                i386-Float.
  356. * float directive, M680x0:              M68K-Float.
  357. * float directive, VAX:                 VAX-float.
  358. * fwait instruction, i386:              i386-Float.
  359. * gbr960, i960 postprocessor:           Options-i960.
  360. * gfloat directive, VAX:                VAX-directives.
  361. * global directive:                     Global.
  362. * gp register, MIPS:                    MIPS Object.
  363. * half directive, SPARC:                Sparc-Directives.
  364. * hfloat directive, VAX:                VAX-directives.
  365. * hword directive:                      hword.
  366. * ident directive:                      Ident.
  367. * ifdef directive:                      If.
  368. * ifndef directive:                     If.
  369. * ifnotdef directive:                   If.
  370. * if directive:                         If.
  371. * imul instruction, i386:               i386-Notes.
  372. * include directive:                    Include.
  373. * include directive search path:        I.
  374. * int directive:                        Int.
  375. * int directive, H8/300:                H8/300 Directives.
  376. * int directive, H8/500:                H8/500 Directives.
  377. * int directive, i386:                  i386-Float.
  378. * int directive, SH:                    SH Directives.
  379. * lcomm directive:                      Lcomm.
  380. * leafproc directive, i960:             Directives-i960.
  381. * lflags directive (ignored):           Lflags.
  382. * line directive:                       Line.
  383. * line directive, AMD 29K:              AMD29K Directives.
  384. * list directive:                       List.
  385. * ln directive:                         Ln.
  386. * long directive:                       Long.
  387. * long directive, i386:                 i386-Float.
  388. * mul instruction, i386:                i386-Notes.
  389. * nolist directive:                     Nolist.
  390. * octa directive:                       Octa.
  391. * org directive:                        Org.
  392. * proc directive, SPARC:                Sparc-Directives.
  393. * psize directive:                      Psize.
  394. * quad directive:                       Quad.
  395. * quad directive, i386:                 i386-Float.
  396. * reserve directive, SPARC:             Sparc-Directives.
  397. * sbttl directive:                      Sbttl.
  398. * scl directive:                        Scl.
  399. * section directive:                    Section.
  400. * sect directive, AMD 29K:              AMD29K Directives.
  401. * seg directive, SPARC:                 Sparc-Directives.
  402. * set directive:                        Set.
  403. * short directive:                      Short.
  404. * single directive:                     Single.
  405. * single directive, i386:               i386-Float.
  406. * size directive:                       Size.
  407. * skip directive, M680x0:               M68K-Directives.
  408. * skip directive, SPARC:                Sparc-Directives.
  409. * space directive:                      Space.
  410. * stabX directives:                     Stab.
  411. * stabd directive:                      Stab.
  412. * stabn directive:                      Stab.
  413. * stabs directive:                      Stab.
  414. * string directive:                     String.
  415. * string directive on HPPA:             HPPA Directives.
  416. * sysproc directive, i960:              Directives-i960.
  417. * tag directive:                        Tag.
  418. * text directive:                       Text.
  419. * tfloat directive, i386:               i386-Float.
  420. * title directive:                      Title.
  421. * type directive:                       Type.
  422. * use directive, AMD 29K:               AMD29K Directives.
  423. * val directive:                        Val.
  424. * word directive:                       Word.
  425. * word directive, H8/300:               H8/300 Directives.
  426. * word directive, H8/500:               H8/500 Directives.
  427. * word directive, i386:                 i386-Float.
  428. * word directive, SH:                   SH Directives.
  429. * word directive, SPARC:                Sparc-Directives.
  430. * \" (doublequote character):           Strings.
  431. * \DDD (octal character code):          Strings.
  432. * \XDD (hex character code):            Strings.
  433. * \b (backspace character):             Strings.
  434. * \f (formfeed character):              Strings.
  435. * \n (newline character):               Strings.
  436. * \r (carriage return character):       Strings.
  437. * \t (tab):                             Strings.
  438. * \\ (\ character):                     Strings.
  439. * MIT:                                  M68K-Syntax.
  440. * a.out:                                Object.
  441. * absolute section:                     Ld Sections.
  442. * addition, permitted arguments:        Infix Ops.
  443. * addresses:                            Expressions.
  444. * addresses, format of:                 Secs Background.
  445. * addressing modes, H8/300:             H8/300-Addressing.
  446. * addressing modes, H8/500:             H8/500-Addressing.
  447. * addressing modes, M680x0:             M68K-Syntax.
  448. * addressing modes, M680x0:             M68K-Moto-Syntax.
  449. * addressing modes, SH:                 SH-Addressing.
  450. * addressing modes, Z8000:              Z8000-Addressing.
  451. * advancing location counter:           Org.
  452. * altered difference tables:            Word.
  453. * alternate syntax for the 680x0:       M68K-Moto-Syntax.
  454. * AMD 29K floating point (IEEE):        AMD29K Floating Point.
  455. * AMD 29K identifiers:                  AMD29K-Chars.
  456. * AMD 29K line comment character:       AMD29K-Chars.
  457. * AMD 29K line separator:               AMD29K-Chars.
  458. * AMD 29K machine directives:           AMD29K Directives.
  459. * AMD 29K opcodes:                      AMD29K Opcodes.
  460. * AMD 29K options (none):               AMD29K Options.
  461. * AMD 29K protected registers:          AMD29K-Regs.
  462. * AMD 29K register names:               AMD29K-Regs.
  463. * AMD 29K special purpose registers:    AMD29K-Regs.
  464. * AMD 29K statement separator:          AMD29K-Chars.
  465. * AMD 29K support:                      AMD29K-Dependent.
  466. * architecture options, i960:           Options-i960.
  467. * architecture options, M680x0:         M68K-Opts.
  468. * architectures, SPARC:                 Sparc-Opts.
  469. * arguments for addition:               Infix Ops.
  470. * arguments for subtraction:            Infix Ops.
  471. * arguments in expressions:             Arguments.
  472. * arithmetic functions:                 Operators.
  473. * arithmetic operands:                  Arguments.
  474. * assembler internal logic error:       As Sections.
  475. * assembler, and linker:                Secs Background.
  476. * assembly listings, enabling:          a.
  477. * assigning values to symbols:          Equ.
  478. * assigning values to symbols:          Setting Symbols.
  479. * attributes, symbol:                   Symbol Attributes.
  480. * auxiliary attributes, COFF symbols:   COFF Symbols.
  481. * auxiliary symbol information, COFF:   Dim.
  482. * Av7:                                  Sparc-Opts.
  483. * backslash (\\):                       Strings.
  484. * backspace (\b):                       Strings.
  485. * big endian output, MIPS:              Overview.
  486. * big-endian output, MIPS:              MIPS Opts.
  487. * bignums:                              Bignums.
  488. * binary integers:                      Integers.
  489. * bitfields, not supported on VAX:      VAX-no.
  490. * block:                                Z8000 Directives.
  491. * branch improvement, M680x0:           M68K-Branch.
  492. * branch improvement, VAX:              VAX-branch.
  493. * branch recording, i960:               Options-i960.
  494. * branch statistics table, i960:        Options-i960.
  495. * bss section:                          Ld Sections.
  496. * bss section:                          bss.
  497. * bus lock prefixes, i386:              i386-prefixes.
  498. * bval:                                 Z8000 Directives.
  499. * call instructions, i386:              i386-Opcodes.
  500. * carriage return (\r):                 Strings.
  501. * character constants:                  Characters.
  502. * character escape codes:               Strings.
  503. * character, single:                    Chars.
  504. * characters used in symbols:           Symbol Intro.
  505. * COFF auxiliary symbol information:    Dim.
  506. * COFF named section:                   Section.
  507. * COFF structure debugging:             Tag.
  508. * COFF symbol attributes:               COFF Symbols.
  509. * COFF symbol descriptor:               Desc.
  510. * COFF symbol storage class:            Scl.
  511. * COFF symbol type:                     Type.
  512. * COFF symbols, debugging:              Def.
  513. * COFF value attribute:                 Val.
  514. * command line conventions:             Command Line.
  515. * command-line options ignored, VAX:    Vax-Opts.
  516. * comments:                             Comments.
  517. * comments, M680x0:                     M68K-Chars.
  518. * comments, removed by preprocessor:    Preprocessing.
  519. * common variable storage:              bss.
  520. * compare and jump expansions, i960:    Compare-and-branch-i960.
  521. * compare/branch instructions, i960:    Compare-and-branch-i960.
  522. * conditional assembly:                 If.
  523. * constant, single character:           Chars.
  524. * constants:                            Constants.
  525. * constants, bignum:                    Bignums.
  526. * constants, character:                 Characters.
  527. * constants, converted by preprocessor: Preprocessing.
  528. * constants, floating point:            Flonums.
  529. * constants, integer:                   Integers.
  530. * constants, number:                    Numbers.
  531. * constants, string:                    Strings.
  532. * continuing statements:                Statements.
  533. * conversion instructions, i386:        i386-Opcodes.
  534. * coprocessor wait, i386:               i386-prefixes.
  535. * current address:                      Dot.
  536. * current address, advancing:           Org.
  537. * data and text sections, joining:      R.
  538. * data section:                         Ld Sections.
  539. * debuggers, and symbol order:          Symbols.
  540. * debugging COFF symbols:               Def.
  541. * decimal integers:                     Integers.
  542. * deprecated directives:                Deprecated.
  543. * descriptor, of a.out symbol:          Symbol Desc.
  544. * difference tables altered:            Word.
  545. * difference tables, warning:           K.
  546. * directives and instructions:          Statements.
  547. * directives, M680x0:                   M68K-Directives.
  548. * directives, machine independent:      Pseudo Ops.
  549. * directives, Z8000:                    Z8000 Directives.
  550. * displacement sizing character, VAX:   VAX-operands.
  551. * dot (symbol):                         Dot.
  552. * doublequote (\"):                     Strings.
  553. * ECOFF sections:                       MIPS Object.
  554. * eight-byte integer:                   Quad.
  555. * empty expressions:                    Empty Exprs.
  556. * endianness, MIPS:                     Overview.
  557. * EOF, newline must precede:            Statements.
  558. * error messsages:                      Errors.
  559. * errors, continuing after:             Z.
  560. * escape codes, character:              Strings.
  561. * even:                                 Z8000 Directives.
  562. * expr (internal section):              As Sections.
  563. * expression arguments:                 Arguments.
  564. * expressions:                          Expressions.
  565. * expressions, empty:                   Empty Exprs.
  566. * expressions, integer:                 Integer Exprs.
  567. * faster processing (-f):               f.
  568. * file name, logical:                   File.
  569. * file name, logical:                   App-File.
  570. * files, including:                     Include.
  571. * files, input:                         Input Files.
  572. * filling memory:                       Space.
  573. * floating point numbers:               Flonums.
  574. * floating point numbers (double):      Double.
  575. * floating point numbers (single):      Float.
  576. * floating point numbers (single):      Single.
  577. * floating point, AMD 29K (IEEE):       AMD29K Floating Point.
  578. * floating point, H8/300 (IEEE):        H8/300 Floating Point.
  579. * floating point, H8/500 (IEEE):        H8/500 Floating Point.
  580. * floating point, HPPA (IEEE):          HPPA Floating Point.
  581. * floating point, i386:                 i386-Float.
  582. * floating point, i960 (IEEE):          Floating Point-i960.
  583. * floating point, M680x0:               M68K-Float.
  584. * floating point, SH (IEEE):            SH Floating Point.
  585. * floating point, SPARC (IEEE):         Sparc-Float.
  586. * floating point, VAX:                  VAX-float.
  587. * flonums:                              Flonums.
  588. * format of error messages:             Errors.
  589. * format of warning messages:           Errors.
  590. * formfeed (\f):                        Strings.
  591. * functions, in expressions:            Operators.
  592. * global:                               Z8000 Directives.
  593. * grouping data:                        Sub-Sections.
  594. * H8/300 addressing modes:              H8/300-Addressing.
  595. * H8/300 floating point (IEEE):         H8/300 Floating Point.
  596. * H8/300 line comment character:        H8/300-Chars.
  597. * H8/300 line separator:                H8/300-Chars.
  598. * H8/300 machine directives (none):     H8/300 Directives.
  599. * H8/300 opcode summary:                H8/300 Opcodes.
  600. * H8/300 options (none):                H8/300 Options.
  601. * H8/300 registers:                     H8/300-Regs.
  602. * H8/300 size suffixes:                 H8/300 Opcodes.
  603. * H8/300 support:                       H8/300-Dependent.
  604. * H8/300H, assembling for:              H8/300 Directives.
  605. * H8/500 addressing modes:              H8/500-Addressing.
  606. * H8/500 floating point (IEEE):         H8/500 Floating Point.
  607. * H8/500 line comment character:        H8/500-Chars.
  608. * H8/500 line separator:                H8/500-Chars.
  609. * H8/500 machine directives (none):     H8/500 Directives.
  610. * H8/500 opcode summary:                H8/500 Opcodes.
  611. * H8/500 options (none):                H8/500 Options.
  612. * H8/500 registers:                     H8/500-Regs.
  613. * H8/500 support:                       H8/500-Dependent.
  614. * hex character code (\XDD):            Strings.
  615. * hexadecimal integers:                 Integers.
  616. * HPPA directives not supported:        HPPA Directives.
  617. * HPPA floating point (IEEE):           HPPA Floating Point.
  618. * HPPA Syntax:                          HPPA Options.
  619. * HPPA-only directives:                 HPPA Directives.
  620. * i386 fwait instruction:               i386-Float.
  621. * i386 mul, imul instructions:          i386-Notes.
  622. * i386 conversion instructions:         i386-Opcodes.
  623. * i386 floating point:                  i386-Float.
  624. * i386 immediate operands:              i386-Syntax.
  625. * i386 jump optimization:               i386-jumps.
  626. * i386 jump, call, return:              i386-Syntax.
  627. * i386 jump/call operands:              i386-Syntax.
  628. * i386 memory references:               i386-Memory.
  629. * i386 opcode naming:                   i386-Opcodes.
  630. * i386 opcode prefixes:                 i386-prefixes.
  631. * i386 options (none):                  i386-Options.
  632. * i386 register operands:               i386-Syntax.
  633. * i386 registers:                       i386-Regs.
  634. * i386 sections:                        i386-Syntax.
  635. * i386 size suffixes:                   i386-Syntax.
  636. * i386 source, destination operands:    i386-Syntax.
  637. * i386 support:                         i386-Dependent.
  638. * i386 syntax compatibility:            i386-Syntax.
  639. * i80306 support:                       i386-Dependent.
  640. * i960 callj pseudo-opcode:             callj-i960.
  641. * i960 architecture options:            Options-i960.
  642. * i960 branch recording:                Options-i960.
  643. * i960 compare and jump expansions:     Compare-and-branch-i960.
  644. * i960 compare/branch instructions:     Compare-and-branch-i960.
  645. * i960 floating point (IEEE):           Floating Point-i960.
  646. * i960 machine directives:              Directives-i960.
  647. * i960 opcodes:                         Opcodes for i960.
  648. * i960 options:                         Options-i960.
  649. * i960 support:                         i960-Dependent.
  650. * identifiers, AMD 29K:                 AMD29K-Chars.
  651. * immediate character, M680x0:          M68K-Chars.
  652. * immediate character, VAX:             VAX-operands.
  653. * immediate operands, i386:             i386-Syntax.
  654. * indirect character, VAX:              VAX-operands.
  655. * infix operators:                      Infix Ops.
  656. * inhibiting interrupts, i386:          i386-prefixes.
  657. * input:                                Input Files.
  658. * input file linenumbers:               Input Files.
  659. * instruction set, M680x0:              M68K-opcodes.
  660. * instruction summary, H8/300:          H8/300 Opcodes.
  661. * instruction summary, H8/500:          H8/500 Opcodes.
  662. * instruction summary, SH:              SH Opcodes.
  663. * instruction summary, Z8000:           Z8000 Opcodes.
  664. * instructions and directives:          Statements.
  665. * integer expressions:                  Integer Exprs.
  666. * integer, 16-byte:                     Octa.
  667. * integer, 8-byte:                      Quad.
  668. * integers:                             Integers.
  669. * integers, 16-bit:                     hword.
  670. * integers, 32-bit:                     Int.
  671. * integers, binary:                     Integers.
  672. * integers, decimal:                    Integers.
  673. * integers, hexadecimal:                Integers.
  674. * integers, octal:                      Integers.
  675. * integers, one byte:                   Byte.
  676. * internal as sections:                 As Sections.
  677. * invocation summary:                   Overview.
  678. * joining text and data sections:       R.
  679. * jump instructions, i386:              i386-Opcodes.
  680. * jump optimization, i386:              i386-jumps.
  681. * jump/call operands, i386:             i386-Syntax.
  682. * label (:):                            Statements.
  683. * labels:                               Labels.
  684. * ld:                                   Object.
  685. * length of symbols:                    Symbol Intro.
  686. * line comment character:               Comments.
  687. * line comment character, AMD 29K:      AMD29K-Chars.
  688. * line comment character, H8/300:       H8/300-Chars.
  689. * line comment character, H8/500:       H8/500-Chars.
  690. * line comment character, M680x0:       M68K-Chars.
  691. * line comment character, SH:           SH-Chars.
  692. * line comment character, Z8000:        Z8000-Chars.
  693. * line numbers, in input files:         Input Files.
  694. * line numbers, in warnings/errors:     Errors.
  695. * line separator character:             Statements.
  696. * line separator, AMD 29K:              AMD29K-Chars.
  697. * line separator, H8/300:               H8/300-Chars.
  698. * line separator, H8/500:               H8/500-Chars.
  699. * line separator, SH:                   SH-Chars.
  700. * line separator, Z8000:                Z8000-Chars.
  701. * lines starting with #:                Comments.
  702. * linker:                               Object.
  703. * linker, and assembler:                Secs Background.
  704. * listing control, turning off:         Nolist.
  705. * listing control, turning on:          List.
  706. * listing control: new page:            Eject.
  707. * listing control: paper size:          Psize.
  708. * listing control: subtitle:            Sbttl.
  709. * listing control: title line:          Title.
  710. * listings, enabling:                   a.
  711. * little endian output, MIPS:           Overview.
  712. * little-endian output, MIPS:           MIPS Opts.
  713. * local common symbols:                 Lcomm.
  714. * local labels, retaining in output:    L.
  715. * local symbol names:                   Symbol Names.
  716. * location counter:                     Dot.
  717. * location counter, advancing:          Org.
  718. * logical file name:                    File.
  719. * logical file name:                    App-File.
  720. * logical line number:                  Line.
  721. * logical line numbers:                 Comments.
  722. * lval:                                 Z8000 Directives.
  723. * M680x0 addressing modes:              M68K-Syntax.
  724. * M680x0 addressing modes:              M68K-Moto-Syntax.
  725. * M680x0 architecture options:          M68K-Opts.
  726. * M680x0 branch improvement:            M68K-Branch.
  727. * M680x0 directives:                    M68K-Directives.
  728. * M680x0 floating point:                M68K-Float.
  729. * M680x0 immediate character:           M68K-Chars.
  730. * M680x0 line comment character:        M68K-Chars.
  731. * M680x0 opcodes:                       M68K-opcodes.
  732. * M680x0 options:                       M68K-Opts.
  733. * M680x0 pseudo-opcodes:                M68K-Branch.
  734. * M680x0 size modifiers:                M68K-Syntax.
  735. * M680x0 support:                       M68K-Dependent.
  736. * M680x0 syntax:                        M68K-Moto-Syntax.
  737. * M680x0 syntax:                        M68K-Syntax.
  738. * machine dependencies:                 Machine Dependencies.
  739. * machine directives, AMD 29K:          AMD29K Directives.
  740. * machine directives, H8/300 (none):    H8/300 Directives.
  741. * machine directives, H8/500 (none):    H8/500 Directives.
  742. * machine directives, i960:             Directives-i960.
  743. * machine directives, SH (none):        SH Directives.
  744. * machine directives, SPARC:            Sparc-Directives.
  745. * machine directives, VAX:              VAX-directives.
  746. * machine independent directives:       Pseudo Ops.
  747. * machine instructions (not covered):   Manual.
  748. * machine-independent syntax:           Syntax.
  749. * manual, structure and purpose:        Manual.
  750. * memory references, i386:              i386-Memory.
  751. * merging text and data sections:       R.
  752. * messages from as:                     Errors.
  753. * minus, permitted arguments:           Infix Ops.
  754. * MIPS architecture options:            MIPS Opts.
  755. * MIPS big-endian output:               MIPS Opts.
  756. * MIPS debugging directives:            MIPS Stabs.
  757. * MIPS ECOFF sections:                  MIPS Object.
  758. * MIPS endianness:                      Overview.
  759. * MIPS ISA:                             Overview.
  760. * MIPS ISA override:                    MIPS ISA.
  761. * MIPS little-endian output:            MIPS Opts.
  762. * MIPS R2000:                           MIPS-Dependent.
  763. * MIPS R3000:                           MIPS-Dependent.
  764. * MIPS R4000:                           MIPS-Dependent.
  765. * MIPS R6000:                           MIPS-Dependent.
  766. * mnemonics for opcodes, VAX:           VAX-opcodes.
  767. * mnemonics, H8/300:                    H8/300 Opcodes.
  768. * mnemonics, H8/500:                    H8/500 Opcodes.
  769. * mnemonics, SH:                        SH Opcodes.
  770. * mnemonics, Z8000:                     Z8000 Opcodes.
  771. * Motorola syntax for the 680x0:        M68K-Moto-Syntax.
  772. * multi-line statements:                Statements.
  773. * name:                                 Z8000 Directives.
  774. * named section (COFF):                 Section.
  775. * named sections:                       Ld Sections.
  776. * names, symbol:                        Symbol Names.
  777. * naming object file:                   o.
  778. * new page, in listings:                Eject.
  779. * newline (\n):                         Strings.
  780. * newline, required at file end:        Statements.
  781. * null-terminated strings:              Asciz.
  782. * number constants:                     Numbers.
  783. * numbered subsections:                 Sub-Sections.
  784. * numbers, 16-bit:                      hword.
  785. * numeric values:                       Expressions.
  786. * object file:                          Object.
  787. * object file format:                   Object Formats.
  788. * object file name:                     o.
  789. * object file, after errors:            Z.
  790. * obsolescent directives:               Deprecated.
  791. * octal character code (\DDD):          Strings.
  792. * octal integers:                       Integers.
  793. * opcode mnemonics, VAX:                VAX-opcodes.
  794. * opcode naming, i386:                  i386-Opcodes.
  795. * opcode prefixes, i386:                i386-prefixes.
  796. * opcode suffixes, i386:                i386-Syntax.
  797. * opcode summary, H8/300:               H8/300 Opcodes.
  798. * opcode summary, H8/500:               H8/500 Opcodes.
  799. * opcode summary, SH:                   SH Opcodes.
  800. * opcode summary, Z8000:                Z8000 Opcodes.
  801. * opcodes for AMD 29K:                  AMD29K Opcodes.
  802. * opcodes, i960:                        Opcodes for i960.
  803. * opcodes, M680x0:                      M68K-opcodes.
  804. * operand delimiters, i386:             i386-Syntax.
  805. * operand notation, VAX:                VAX-operands.
  806. * operands in expressions:              Arguments.
  807. * operator precedence:                  Infix Ops.
  808. * operators, in expressions:            Operators.
  809. * operators, permitted arguments:       Infix Ops.
  810. * option summary:                       Overview.
  811. * options for AMD29K (none):            AMD29K Options.
  812. * options for i386 (none):              i386-Options.
  813. * options for SPARC:                    Sparc-Opts.
  814. * options for VAX/VMS:                  Vax-Opts.
  815. * options, all versions of as:          Invoking.
  816. * options, command line:                Command Line.
  817. * options, H8/300 (none):               H8/300 Options.
  818. * options, H8/500 (none):               H8/500 Options.
  819. * options, i960:                        Options-i960.
  820. * options, M680x0:                      M68K-Opts.
  821. * options, SH (none):                   SH Options.
  822. * options, Z8000:                       Z8000 Options.
  823. * other attribute, of a.out symbol:     Symbol Other.
  824. * output file:                          Object.
  825. * padding the location counter:         Align.
  826. * page, in listings:                    Eject.
  827. * paper size, for listings:             Psize.
  828. * paths for .include:                   I.
  829. * patterns, writing in memory:          Fill.
  830. * plus, permitted arguments:            Infix Ops.
  831. * precedence of operators:              Infix Ops.
  832. * precision, floating point:            Flonums.
  833. * prefix operators:                     Prefix Ops.
  834. * prefixes, i386:                       i386-prefixes.
  835. * preprocessing:                        Preprocessing.
  836. * preprocessing, turning on and off:    Preprocessing.
  837. * primary attributes, COFF symbols:     COFF Symbols.
  838. * protected registers, AMD 29K:         AMD29K-Regs.
  839. * pseudo-opcodes, M680x0:               M68K-Branch.
  840. * pseudo-ops for branch, VAX:           VAX-branch.
  841. * pseudo-ops, machine independent:      Pseudo Ops.
  842. * purpose of GNU as:                    GNU Assembler.
  843. * register names, AMD 29K:              AMD29K-Regs.
  844. * register names, H8/300:               H8/300-Regs.
  845. * register names, VAX:                  VAX-operands.
  846. * register operands, i386:              i386-Syntax.
  847. * registers, H8/500:                    H8/500-Regs.
  848. * registers, i386:                      i386-Regs.
  849. * registers, SH:                        SH-Regs.
  850. * registers, Z8000:                     Z8000-Regs.
  851. * relocation:                           Sections.
  852. * relocation example:                   Ld Sections.
  853. * repeat prefixes, i386:                i386-prefixes.
  854. * return instructions, i386:            i386-Syntax.
  855. * rsect:                                Z8000 Directives.
  856. * search path for .include:             I.
  857. * section override prefixes, i386:      i386-prefixes.
  858. * section-relative addressing:          Secs Background.
  859. * sections:                             Sections.
  860. * sections in messages, internal:       As Sections.
  861. * sections, i386:                       i386-Syntax.
  862. * sections, named:                      Ld Sections.
  863. * segm:                                 Z8000 Directives.
  864. * SH addressing modes:                  SH-Addressing.
  865. * SH floating point (IEEE):             SH Floating Point.
  866. * SH line comment character:            SH-Chars.
  867. * SH line separator:                    SH-Chars.
  868. * SH machine directives (none):         SH Directives.
  869. * SH opcode summary:                    SH Opcodes.
  870. * SH options (none):                    SH Options.
  871. * SH registers:                         SH-Regs.
  872. * SH support:                           SH-Dependent.
  873. * single character constant:            Chars.
  874. * sixteen bit integers:                 hword.
  875. * sixteen byte integer:                 Octa.
  876. * size modifiers, M680x0:               M68K-Syntax.
  877. * size prefixes, i386:                  i386-prefixes.
  878. * size suffixes, H8/300:                H8/300 Opcodes.
  879. * sizes operands, i386:                 i386-Syntax.
  880. * small objects, MIPS ECOFF:            MIPS Object.
  881. * SOM symbol attributes:                SOM Symbols.
  882. * source program:                       Input Files.
  883. * source, destination operands; i386:   i386-Syntax.
  884. * space used, maximum for assembly:     statistics.
  885. * SPARC architectures:                  Sparc-Opts.
  886. * SPARC floating point (IEEE):          Sparc-Float.
  887. * SPARC machine directives:             Sparc-Directives.
  888. * SPARC options:                        Sparc-Opts.
  889. * SPARC support:                        Sparc-Dependent.
  890. * special characters, M680x0:           M68K-Chars.
  891. * special purpose registers, AMD 29K:   AMD29K-Regs.
  892. * standard as sections:                 Secs Background.
  893. * standard input, as input file:        Command Line.
  894. * statement on multiple lines:          Statements.
  895. * statement separator character:        Statements.
  896. * statement separator, AMD 29K:         AMD29K-Chars.
  897. * statement separator, H8/300:          H8/300-Chars.
  898. * statement separator, H8/500:          H8/500-Chars.
  899. * statement separator, SH:              SH-Chars.
  900. * statement separator, Z8000:           Z8000-Chars.
  901. * statements, structure of:             Statements.
  902. * statistics, about assembly:           statistics.
  903. * stopping the assembly:                Abort.
  904. * string constants:                     Strings.
  905. * string literals:                      Ascii.
  906. * string, copying to object file:       String.
  907. * structure debugging, COFF:            Tag.
  908. * subexpressions:                       Arguments.
  909. * subtitles for listings:               Sbttl.
  910. * subtraction, permitted arguments:     Infix Ops.
  911. * summary of options:                   Overview.
  912. * support:                              HPPA-Dependent.
  913. * supporting files, including:          Include.
  914. * suppressing warnings:                 W.
  915. * sval:                                 Z8000 Directives.
  916. * symbol attributes:                    Symbol Attributes.
  917. * symbol attributes, a.out:             a.out Symbols.
  918. * symbol attributes, COFF:              COFF Symbols.
  919. * symbol attributes, SOM:               SOM Symbols.
  920. * symbol descriptor, COFF:              Desc.
  921. * symbol names:                         Symbol Names.
  922. * symbol names, $ in:                   SH-Chars.
  923. * symbol names, $ in:                   H8/500-Chars.
  924. * symbol names, local:                  Symbol Names.
  925. * symbol names, temporary:              Symbol Names.
  926. * symbol storage class (COFF):          Scl.
  927. * symbol type:                          Symbol Type.
  928. * symbol type, COFF:                    Type.
  929. * symbol value:                         Symbol Value.
  930. * symbol value, setting:                Set.
  931. * symbol values, assigning:             Setting Symbols.
  932. * symbol, common:                       Comm.
  933. * symbol, making visible to linker:     Global.
  934. * symbolic debuggers, information for:  Stab.
  935. * symbols:                              Symbols.
  936. * symbols with lowercase, VAX/VMS:      Vax-Opts.
  937. * symbols, assigning values to:         Equ.
  938. * symbols, local common:                Lcomm.
  939. * syntax compatibility, i386:           i386-Syntax.
  940. * syntax, M680x0:                       M68K-Moto-Syntax.
  941. * syntax, M680x0:                       M68K-Syntax.
  942. * syntax, machine-independent:          Syntax.
  943. * tab (\t):                             Strings.
  944. * temporary symbol names:               Symbol Names.
  945. * text and data sections, joining:      R.
  946. * text section:                         Ld Sections.
  947. * time, total for assembly:             statistics.
  948. * trusted compiler:                     f.
  949. * turning preprocessing on and off:     Preprocessing.
  950. * type of a symbol:                     Symbol Type.
  951. * undefined section:                    Ld Sections.
  952. * unsegm:                               Z8000 Directives.
  953. * value attribute, COFF:                Val.
  954. * value of a symbol:                    Symbol Value.
  955. * VAX bitfields not supported:          VAX-no.
  956. * VAX branch improvement:               VAX-branch.
  957. * VAX command-line options ignored:     Vax-Opts.
  958. * VAX displacement sizing character:    VAX-operands.
  959. * VAX floating point:                   VAX-float.
  960. * VAX immediate character:              VAX-operands.
  961. * VAX indirect character:               VAX-operands.
  962. * VAX machine directives:               VAX-directives.
  963. * VAX opcode mnemonics:                 VAX-opcodes.
  964. * VAX operand notation:                 VAX-operands.
  965. * VAX register names:                   VAX-operands.
  966. * VAX support:                          Vax-Dependent.
  967. * Vax-11 C compatibility:               Vax-Opts.
  968. * VAX/VMS options:                      Vax-Opts.
  969. * version of as:                        v.
  970. * VMS (VAX) options:                    Vax-Opts.
  971. * warning for altered difference tables: K.
  972. * warning messages:                     Errors.
  973. * warnings, suppressing:                W.
  974. * whitespace:                           Whitespace.
  975. * whitespace, removed by preprocessor:  Preprocessing.
  976. * wide floating point directives, VAX:  VAX-directives.
  977. * writing patterns in memory:           Fill.
  978. * wval:                                 Z8000 Directives.
  979. * Z800 addressing modes:                Z8000-Addressing.
  980. * Z8000 directives:                     Z8000 Directives.
  981. * Z8000 line comment character:         Z8000-Chars.
  982. * Z8000 line separator:                 Z8000-Chars.
  983. * Z8000 opcode summary:                 Z8000 Opcodes.
  984. * Z8000 options:                        Z8000 Options.
  985. * Z8000 registers:                      Z8000-Regs.
  986. * Z8000 support:                        Z8000-Dependent.
  987. * zero-terminated strings:              Asciz.
  988.  
  989.  
  990.